/**
 * 
 */
package br.com.devschool.entity;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import br.com.devschool.util.BaseEntity;

/**
 * @author ATILLA
 *
 */
@Entity
@Table
public class Aluno extends BaseEntity implements Serializable{

	private static final long serialVersionUID = 7162822432073523360L;

	private String 		codigo;
	private Date 		dataCadastro;
	private Pessoa 		pessoa;
	private Matricula 	matricula;
	
	public Aluno() { }
	
	public Aluno(Integer id, String codigo, Date dataCadastro, Pessoa pessoa,
			Matricula matricula) {
		super(id);
		this.codigo 		= codigo;
		this.dataCadastro 	= dataCadastro;
		this.pessoa 		= pessoa;
		this.matricula 		= matricula;
	}
	
	public String getCodigo() {
		return codigo;
	}
	
	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}
	
	@Column(name="data_cadastro")
	@Temporal(TemporalType.DATE)
	public Date getDataCadastro() {
		return dataCadastro;
	}
	
	public void setDataCadastro(Date dataCadastro) {
		this.dataCadastro = dataCadastro;
	}
	
	@OneToOne
	@JoinColumn(name="id_pessoa")
	public Pessoa getPessoa() {
		return pessoa;
	}
	
	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}

	@OneToOne(mappedBy="aluno")
	public Matricula getMatricula() {
		return matricula;
	}

	public void setMatricula(Matricula matricula) {
		this.matricula = matricula;
	}
	
}
